﻿ 
 
using System;
using eShop.Domain;

namespace eShop.Application
{
    public class CustomerService : ICustomerService
    {
        //private readonly CustomerAssembler _customerAssembler = new CustomerAssembler();
        
        private readonly IRepository _repository;
        
        public CustomerService()
        {
            _repository = ApplicationServiceFactory.GenerateImplementation<IRepository>();
        }


        public CustomerService(IRepository repository)
        {
            _repository = repository;
        }

        
        #region ICustomerService Members
       
        public void InitCustomerService()
        {
			throw new NotImplementedException();
        }
        
        public CustomerServiceLoadByIdResponse LoadByIdCustomerService(CustomerServiceLoadByIdRequest request)
        {
			throw new NotImplementedException();
        }
        
        public void SaveCustomerService()
        {
			throw new NotImplementedException();
        }
        
        #endregion
    }
    public class CustomerLoVService : ICustomerLoVService
    {
        //private readonly CustomerAssembler _customerAssembler = new CustomerAssembler();
        
        private readonly IRepository _repository;
        
        public CustomerLoVService()
        {
            _repository = ApplicationServiceFactory.GenerateImplementation<IRepository>();
        }


        public CustomerLoVService(IRepository repository)
        {
            _repository = repository;
        }

        
        #region ICustomerLoVService Members
       
        public void InitCustomerLoVService()
        {
			throw new NotImplementedException();
        }
        
        public CustomerLoVServiceLoadByIdResponse LoadByIdCustomerLoVService(CustomerLoVServiceLoadByIdRequest request)
        {
			throw new NotImplementedException();
        }
        
        public void SaveCustomerLoVService()
        {
			throw new NotImplementedException();
        }
        
        #endregion
    }
    public class OrderService : IOrderService
    {
        //private readonly CustomerAssembler _customerAssembler = new CustomerAssembler();
        
        private readonly IRepository _repository;
        
        public OrderService()
        {
            _repository = ApplicationServiceFactory.GenerateImplementation<IRepository>();
        }


        public OrderService(IRepository repository)
        {
            _repository = repository;
        }

        
        #region IOrderService Members
       
        public void InitOrderService()
        {
			throw new NotImplementedException();
        }
        
        public OrderServiceLoadByIdResponse LoadByIdOrderService(OrderServiceLoadByIdRequest request)
        {
			throw new NotImplementedException();
        }
        
        public void SaveOrderService()
        {
			throw new NotImplementedException();
        }
        
        #endregion
    }
    public class ProductService : IProductService
    {
        //private readonly CustomerAssembler _customerAssembler = new CustomerAssembler();
        
        private readonly IRepository _repository;
        
        public ProductService()
        {
            _repository = ApplicationServiceFactory.GenerateImplementation<IRepository>();
        }


        public ProductService(IRepository repository)
        {
            _repository = repository;
        }

        
        #region IProductService Members
       
        public void InitProductService()
        {
			throw new NotImplementedException();
        }
        
        public ProductServiceLoadByIdResponse LoadByIdProductService(ProductServiceLoadByIdRequest request)
        {
			throw new NotImplementedException();
        }
        
        public void SaveProductService()
        {
			throw new NotImplementedException();
        }
        
        #endregion
    }
    public class SalesActionService : ISalesActionService
    {
        //private readonly CustomerAssembler _customerAssembler = new CustomerAssembler();
        
        private readonly IRepository _repository;
        
        public SalesActionService()
        {
            _repository = ApplicationServiceFactory.GenerateImplementation<IRepository>();
        }


        public SalesActionService(IRepository repository)
        {
            _repository = repository;
        }

        
        #region ISalesActionService Members
       
        public void InitSalesActionService()
        {
			throw new NotImplementedException();
        }
        
        public SalesActionServiceLoadByIdResponse LoadByIdSalesActionService(SalesActionServiceLoadByIdRequest request)
        {
			throw new NotImplementedException();
        }
        
        public void SaveSalesActionService()
        {
			throw new NotImplementedException();
        }
        
        #endregion
    }
} 
